﻿/**************************************************************************
 类   名: 缓动
 作   用: MC从一个点缓动到另一个点
 方   法:
 startMove(mcName:MovieClip, mcX:Number, mcY:Number, a:Number)
 mcName:指定要移动的对象的实例名称
 mcX:要移动到指定点的X坐标
 mcY:要移动到指定点的Y坐标
 a:移动的加速度(通常为>1)
 说   明:
 startMove("mc1", 100, 100, 2)
 mc1对象将以2的加速度移动到X轴100，Y轴100的位置
 可以很方便的反复调用
 感兴趣的还可以扩展相关功能：
 比如对象的透明度，X，Y轴的缩放等。
 syxu@3c800.com
***************************************************************************/
import mx.utils.Delegate;
class MoveTo extends MovieClip {
	public var myName = 'MoveTo';
	private var mcName:MovieClip;
	private var mcX:Number;
	private var mcY:Number;
	private var a:Number;
	public function MoveTo() {
	}
	public function startMove(mcName:MovieClip, mcX:Number, mcY:Number, a:Number) {
		this.mcName = mcName;
		this.mcX = mcX;
		this.mcY = mcY;
		this.a = a;
		this.mcName.onEnterFrame = Delegate.create(this, this._startMove);
	}
	private function _startMove() {
		this.mcName._x += (this.mcX-this.mcName._x)/a;
		this.mcName._y += (this.mcY-this.mcName._y)/a;
		if (this.mcX == this.mcName._x && this.mcY == this.mcName._y) {
			delete this.mcName.onEnterFrame;
		}
	}
}
